/**
 * Copyright &copy; 2012-2017 <a href="https://vivo.com">vivo</a> All rights reserved.
 */
package com.vivo.fx.employee.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.NotNull;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * fx人事信息Entity
 * @author jyangye
 * @version 2017-11-01
 */
public class FxEmployeeinfo extends DataEntity<FxEmployeeinfo> {
	
	private static final long serialVersionUID = 1L;
	private String employeeid;		// employeeid
	private String companyid;		// companyid
	private String departmentid;		// departmentid
	private String positionid;		// positionid
	private String employeecode;		// employeecode
	private String employeename;		// employeename
	private String employeenamepinying;		// employeenamepinying
	private String sex;		// sex
	private String educationid;		// educationid
	private String age;		// age
	private Date birthdaydate;		// birthdaydate
	private String maritalstatus;		// maritalstatus
	private String telephone;		// telephone
	private String employeepostid;		// employeepostid
	private Date indutydate;		// indutydate
	private String employeelevelid;		// employeelevelid
	private Date outdutydate;		// outdutydate
	private String employeecurrstateid;		// employeecurrstateid
	private String identitycard;		// identitycard
	private String employeephoto;		// employeephoto
	private String socialnumber;		// socialnumber
	private String socialcurrmoney;		// socialcurrmoney
	private String personbank;		// personbank
	private String bankaccount;		// bankaccount
	private String voucher;		// voucher
	private String wagebase;		// wagebase
	private Date askforleavestartdate;		// askforleavestartdate
	private Date askforleaveenddate;		// askforleaveenddate
	private String remark;		// remark
	private Date createtime;		// createtime
	private String address;		// address
	private String clothessizeid;		// clothessizeid
	private String superioremployeeid;		// superioremployeeid
	private String nosuperioremployeereason;		// nosuperioremployeereason
	private String fathername;		// fathername
	private String religiousbeliefid;		// religiousbeliefid
	private String identityid;		// identityid
	private String employeeattribute;		// employeeattribute
	private String birthdaydatetype;		// birthdaydatetype
	private Date birthdaydatelunarcalendar;		// birthdaydatelunarcalendar
	private Date changeformaldate;		// changeformaldate
	private String censusregister;		// censusregister
	private String depositbank;		// depositbank
	private String cardno;		// cardno
	private String emergencycontactname;		// emergencycontactname
	private String emergencycontactphone;		// emergencycontactphone
	private Date contractdate;		// contractdate
	private String contracttime;		// contracttime
	private Date outdutyoperatetime;		// outdutyoperatetime
	private String school;		// school
	private String professional;		// professional
	private String peopleattribute;		// peopleattribute
	
	public FxEmployeeinfo() {
		super();
	}

	public FxEmployeeinfo(String id){
		super(id);
	}

	@Length(min=1, max=32, message="employeeid长度必须介于 1 和 32 之间")
	public String getEmployeeid() {
		return employeeid;
	}

	public void setEmployeeid(String employeeid) {
		this.employeeid = employeeid;
	}
	
	@Length(min=1, max=32, message="companyid长度必须介于 1 和 32 之间")
	public String getCompanyid() {
		return companyid;
	}

	public void setCompanyid(String companyid) {
		this.companyid = companyid;
	}
	
	@Length(min=0, max=32, message="departmentid长度必须介于 0 和 32 之间")
	public String getDepartmentid() {
		return departmentid;
	}

	public void setDepartmentid(String departmentid) {
		this.departmentid = departmentid;
	}
	
	@Length(min=0, max=32, message="positionid长度必须介于 0 和 32 之间")
	public String getPositionid() {
		return positionid;
	}

	public void setPositionid(String positionid) {
		this.positionid = positionid;
	}
	
	@Length(min=0, max=30, message="employeecode长度必须介于 0 和 30 之间")
	public String getEmployeecode() {
		return employeecode;
	}

	public void setEmployeecode(String employeecode) {
		this.employeecode = employeecode;
	}
	
	@Length(min=1, max=30, message="employeename长度必须介于 1 和 30 之间")
	public String getEmployeename() {
		return employeename;
	}

	public void setEmployeename(String employeename) {
		this.employeename = employeename;
	}
	
	@Length(min=0, max=60, message="employeenamepinying长度必须介于 0 和 60 之间")
	public String getEmployeenamepinying() {
		return employeenamepinying;
	}

	public void setEmployeenamepinying(String employeenamepinying) {
		this.employeenamepinying = employeenamepinying;
	}
	
	@Length(min=0, max=1, message="sex长度必须介于 0 和 1 之间")
	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}
	
	@Length(min=0, max=32, message="educationid长度必须介于 0 和 32 之间")
	public String getEducationid() {
		return educationid;
	}

	public void setEducationid(String educationid) {
		this.educationid = educationid;
	}
	
	@Length(min=0, max=11, message="age长度必须介于 0 和 11 之间")
	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getBirthdaydate() {
		return birthdaydate;
	}

	public void setBirthdaydate(Date birthdaydate) {
		this.birthdaydate = birthdaydate;
	}
	
	@Length(min=0, max=20, message="maritalstatus长度必须介于 0 和 20 之间")
	public String getMaritalstatus() {
		return maritalstatus;
	}

	public void setMaritalstatus(String maritalstatus) {
		this.maritalstatus = maritalstatus;
	}
	
	@Length(min=0, max=20, message="telephone长度必须介于 0 和 20 之间")
	public String getTelephone() {
		return telephone;
	}

	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}
	
	@Length(min=0, max=32, message="employeepostid长度必须介于 0 和 32 之间")
	public String getEmployeepostid() {
		return employeepostid;
	}

	public void setEmployeepostid(String employeepostid) {
		this.employeepostid = employeepostid;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getIndutydate() {
		return indutydate;
	}

	public void setIndutydate(Date indutydate) {
		this.indutydate = indutydate;
	}
	
	@Length(min=0, max=32, message="employeelevelid长度必须介于 0 和 32 之间")
	public String getEmployeelevelid() {
		return employeelevelid;
	}

	public void setEmployeelevelid(String employeelevelid) {
		this.employeelevelid = employeelevelid;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getOutdutydate() {
		return outdutydate;
	}

	public void setOutdutydate(Date outdutydate) {
		this.outdutydate = outdutydate;
	}
	
	@Length(min=0, max=1, message="employeecurrstateid长度必须介于 0 和 1 之间")
	public String getEmployeecurrstateid() {
		return employeecurrstateid;
	}

	public void setEmployeecurrstateid(String employeecurrstateid) {
		this.employeecurrstateid = employeecurrstateid;
	}
	
	@Length(min=0, max=30, message="identitycard长度必须介于 0 和 30 之间")
	public String getIdentitycard() {
		return identitycard;
	}

	public void setIdentitycard(String identitycard) {
		this.identitycard = identitycard;
	}
	
	@Length(min=0, max=100, message="employeephoto长度必须介于 0 和 100 之间")
	public String getEmployeephoto() {
		return employeephoto;
	}

	public void setEmployeephoto(String employeephoto) {
		this.employeephoto = employeephoto;
	}
	
	@Length(min=0, max=30, message="socialnumber长度必须介于 0 和 30 之间")
	public String getSocialnumber() {
		return socialnumber;
	}

	public void setSocialnumber(String socialnumber) {
		this.socialnumber = socialnumber;
	}
	
	public String getSocialcurrmoney() {
		return socialcurrmoney;
	}

	public void setSocialcurrmoney(String socialcurrmoney) {
		this.socialcurrmoney = socialcurrmoney;
	}
	
	@Length(min=0, max=30, message="personbank长度必须介于 0 和 30 之间")
	public String getPersonbank() {
		return personbank;
	}

	public void setPersonbank(String personbank) {
		this.personbank = personbank;
	}
	
	@Length(min=0, max=30, message="bankaccount长度必须介于 0 和 30 之间")
	public String getBankaccount() {
		return bankaccount;
	}

	public void setBankaccount(String bankaccount) {
		this.bankaccount = bankaccount;
	}
	
	@Length(min=0, max=30, message="voucher长度必须介于 0 和 30 之间")
	public String getVoucher() {
		return voucher;
	}

	public void setVoucher(String voucher) {
		this.voucher = voucher;
	}
	
	public String getWagebase() {
		return wagebase;
	}

	public void setWagebase(String wagebase) {
		this.wagebase = wagebase;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getAskforleavestartdate() {
		return askforleavestartdate;
	}

	public void setAskforleavestartdate(Date askforleavestartdate) {
		this.askforleavestartdate = askforleavestartdate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getAskforleaveenddate() {
		return askforleaveenddate;
	}

	public void setAskforleaveenddate(Date askforleaveenddate) {
		this.askforleaveenddate = askforleaveenddate;
	}
	
	@Length(min=0, max=500, message="remark长度必须介于 0 和 500 之间")
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="createtime不能为空")
	public Date getCreatetime() {
		return createtime;
	}

	public void setCreatetime(Date createtime) {
		this.createtime = createtime;
	}
	
	@Length(min=0, max=200, message="address长度必须介于 0 和 200 之间")
	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}
	
	@Length(min=0, max=32, message="clothessizeid长度必须介于 0 和 32 之间")
	public String getClothessizeid() {
		return clothessizeid;
	}

	public void setClothessizeid(String clothessizeid) {
		this.clothessizeid = clothessizeid;
	}
	
	@Length(min=0, max=32, message="superioremployeeid长度必须介于 0 和 32 之间")
	public String getSuperioremployeeid() {
		return superioremployeeid;
	}

	public void setSuperioremployeeid(String superioremployeeid) {
		this.superioremployeeid = superioremployeeid;
	}
	
	@Length(min=0, max=5000, message="nosuperioremployeereason长度必须介于 0 和 5000 之间")
	public String getNosuperioremployeereason() {
		return nosuperioremployeereason;
	}

	public void setNosuperioremployeereason(String nosuperioremployeereason) {
		this.nosuperioremployeereason = nosuperioremployeereason;
	}
	
	@Length(min=0, max=200, message="fathername长度必须介于 0 和 200 之间")
	public String getFathername() {
		return fathername;
	}

	public void setFathername(String fathername) {
		this.fathername = fathername;
	}
	
	@Length(min=0, max=32, message="religiousbeliefid长度必须介于 0 和 32 之间")
	public String getReligiousbeliefid() {
		return religiousbeliefid;
	}

	public void setReligiousbeliefid(String religiousbeliefid) {
		this.religiousbeliefid = religiousbeliefid;
	}
	
	@Length(min=1, max=11, message="identityid长度必须介于 1 和 11 之间")
	public String getIdentityid() {
		return identityid;
	}

	public void setIdentityid(String identityid) {
		this.identityid = identityid;
	}
	
	@Length(min=0, max=1, message="employeeattribute长度必须介于 0 和 1 之间")
	public String getEmployeeattribute() {
		return employeeattribute;
	}

	public void setEmployeeattribute(String employeeattribute) {
		this.employeeattribute = employeeattribute;
	}
	
	@Length(min=0, max=1, message="birthdaydatetype长度必须介于 0 和 1 之间")
	public String getBirthdaydatetype() {
		return birthdaydatetype;
	}

	public void setBirthdaydatetype(String birthdaydatetype) {
		this.birthdaydatetype = birthdaydatetype;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getBirthdaydatelunarcalendar() {
		return birthdaydatelunarcalendar;
	}

	public void setBirthdaydatelunarcalendar(Date birthdaydatelunarcalendar) {
		this.birthdaydatelunarcalendar = birthdaydatelunarcalendar;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getChangeformaldate() {
		return changeformaldate;
	}

	public void setChangeformaldate(Date changeformaldate) {
		this.changeformaldate = changeformaldate;
	}
	
	@Length(min=0, max=200, message="censusregister长度必须介于 0 和 200 之间")
	public String getCensusregister() {
		return censusregister;
	}

	public void setCensusregister(String censusregister) {
		this.censusregister = censusregister;
	}
	
	@Length(min=0, max=32, message="depositbank长度必须介于 0 和 32 之间")
	public String getDepositbank() {
		return depositbank;
	}

	public void setDepositbank(String depositbank) {
		this.depositbank = depositbank;
	}
	
	@Length(min=0, max=50, message="cardno长度必须介于 0 和 50 之间")
	public String getCardno() {
		return cardno;
	}

	public void setCardno(String cardno) {
		this.cardno = cardno;
	}
	
	@Length(min=0, max=30, message="emergencycontactname长度必须介于 0 和 30 之间")
	public String getEmergencycontactname() {
		return emergencycontactname;
	}

	public void setEmergencycontactname(String emergencycontactname) {
		this.emergencycontactname = emergencycontactname;
	}
	
	@Length(min=0, max=30, message="emergencycontactphone长度必须介于 0 和 30 之间")
	public String getEmergencycontactphone() {
		return emergencycontactphone;
	}

	public void setEmergencycontactphone(String emergencycontactphone) {
		this.emergencycontactphone = emergencycontactphone;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getContractdate() {
		return contractdate;
	}

	public void setContractdate(Date contractdate) {
		this.contractdate = contractdate;
	}
	
	@Length(min=0, max=11, message="contracttime长度必须介于 0 和 11 之间")
	public String getContracttime() {
		return contracttime;
	}

	public void setContracttime(String contracttime) {
		this.contracttime = contracttime;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getOutdutyoperatetime() {
		return outdutyoperatetime;
	}

	public void setOutdutyoperatetime(Date outdutyoperatetime) {
		this.outdutyoperatetime = outdutyoperatetime;
	}
	
	@Length(min=0, max=20, message="school长度必须介于 0 和 20 之间")
	public String getSchool() {
		return school;
	}

	public void setSchool(String school) {
		this.school = school;
	}
	
	@Length(min=0, max=20, message="professional长度必须介于 0 和 20 之间")
	public String getProfessional() {
		return professional;
	}

	public void setProfessional(String professional) {
		this.professional = professional;
	}
	
	@Length(min=0, max=32, message="peopleattribute长度必须介于 0 和 32 之间")
	public String getPeopleattribute() {
		return peopleattribute;
	}

	public void setPeopleattribute(String peopleattribute) {
		this.peopleattribute = peopleattribute;
	}
	
}